<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="managedkafka_v1.html">Managed Service for Apache Kafka API</a> . <a href="managedkafka_v1.projects.html">projects</a> . <a href="managedkafka_v1.projects.locations.html">locations</a> . <a href="managedkafka_v1.projects.locations.clusters.html">clusters</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="managedkafka_v1.projects.locations.clusters.acls.html">acls()</a></code>
</p>
<p class="firstline">Returns the acls Resource.</p>

<p class="toc_element">
  <code><a href="managedkafka_v1.projects.locations.clusters.consumerGroups.html">consumerGroups()</a></code>
</p>
<p class="firstline">Returns the consumerGroups Resource.</p>

<p class="toc_element">
  <code><a href="managedkafka_v1.projects.locations.clusters.topics.html">topics()</a></code>
</p>
<p class="firstline">Returns the topics Resource.</p>

<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#create">create(parent, body=None, clusterId=None, requestId=None, x__xgafv=None)</a></code></p>
<p class="firstline">Creates a new cluster in a given project and location.</p>
<p class="toc_element">
  <code><a href="#delete">delete(name, requestId=None, x__xgafv=None)</a></code></p>
<p class="firstline">Deletes a single cluster.</p>
<p class="toc_element">
  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
<p class="firstline">Returns the properties of a single cluster.</p>
<p class="toc_element">
  <code><a href="#list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
<p class="firstline">Lists the clusters in a given project and location.</p>
<p class="toc_element">
  <code><a href="#list_next">list_next()</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
  <code><a href="#patch">patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)</a></code></p>
<p class="firstline">Updates the properties of a single cluster.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="create">create(parent, body=None, clusterId=None, requestId=None, x__xgafv=None)</code>
  <pre>Creates a new cluster in a given project and location.

Args:
  parent: string, Required. The parent region in which to create the cluster. Structured like `projects/{project}/locations/{location}`. (required)
  body: object, The request body.
    The object takes the form of:

{ # An Apache Kafka cluster deployed in a location.
  &quot;capacityConfig&quot;: { # A capacity configuration of a Kafka cluster. # Required. Capacity configuration for the Kafka cluster.
    &quot;memoryBytes&quot;: &quot;A String&quot;, # Required. The memory to provision for the cluster in bytes. The CPU:memory ratio (vCPU:GiB) must be between 1:1 and 1:8. Minimum: 3221225472 (3 GiB).
    &quot;vcpuCount&quot;: &quot;A String&quot;, # Required. The number of vCPUs to provision for the cluster. Minimum: 3.
  },
  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the cluster was created.
  &quot;gcpConfig&quot;: { # Configuration properties for a Kafka cluster deployed to Google Cloud Platform. # Required. Configuration properties for a Kafka cluster deployed to Google Cloud Platform.
    &quot;accessConfig&quot;: { # The configuration of access to the Kafka cluster. # Required. Access configuration for the Kafka cluster.
      &quot;networkConfigs&quot;: [ # Required. Virtual Private Cloud (VPC) networks that must be granted direct access to the Kafka cluster. Minimum of 1 network is required. Maximum 10 networks can be specified.
        { # The configuration of a Virtual Private Cloud (VPC) network that can access the Kafka cluster.
          &quot;subnet&quot;: &quot;A String&quot;, # Required. Name of the VPC subnet in which to create Private Service Connect (PSC) endpoints for the Kafka brokers and bootstrap address. Structured like: projects/{project}/regions/{region}/subnetworks/{subnet_id} The subnet must be located in the same region as the Kafka cluster. The project may differ. Multiple subnets from the same parent network must not be specified.
        },
      ],
    },
    &quot;kmsKey&quot;: &quot;A String&quot;, # Optional. Immutable. The Cloud KMS Key name to use for encryption. The key must be located in the same region as the cluster and cannot be changed. Structured like: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.
  },
  &quot;labels&quot;: { # Optional. Labels as key value pairs.
    &quot;a_key&quot;: &quot;A String&quot;,
  },
  &quot;name&quot;: &quot;A String&quot;, # Identifier. The name of the cluster. Structured like: projects/{project_number}/locations/{location}/clusters/{cluster_id}
  &quot;rebalanceConfig&quot;: { # Defines rebalancing behavior of a Kafka cluster. # Optional. Rebalance configuration for the Kafka cluster.
    &quot;mode&quot;: &quot;A String&quot;, # Optional. The rebalance behavior for the cluster. When not specified, defaults to `NO_REBALANCE`.
  },
  &quot;satisfiesPzi&quot;: True or False, # Output only. Reserved for future use.
  &quot;satisfiesPzs&quot;: True or False, # Output only. Reserved for future use.
  &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the cluster.
  &quot;tlsConfig&quot;: { # The TLS configuration for the Kafka cluster. # Optional. TLS configuration for the Kafka cluster.
    &quot;sslPrincipalMappingRules&quot;: &quot;A String&quot;, # Optional. A list of rules for mapping from SSL principal names to short names. These are applied in order by Kafka. Refer to the Apache Kafka documentation for `ssl.principal.mapping.rules` for the precise formatting details and syntax. Example: &quot;RULE:^CN=(.*?),OU=ServiceUsers.*$/$1@example.com/,DEFAULT&quot; This is a static Kafka broker configuration. Setting or modifying this field will trigger a rolling restart of the Kafka brokers to apply the change. An empty string means no rules are applied (Kafka default).
    &quot;trustConfig&quot;: { # Sources of CA certificates to install in the broker&#x27;s truststore. # Optional. The configuration of the broker truststore. If specified, clients can use mTLS for authentication.
      &quot;casConfigs&quot;: [ # Optional. Configuration for the Google Certificate Authority Service. Maximum 10.
        { # A configuration for the Google Certificate Authority Service.
          &quot;caPool&quot;: &quot;A String&quot;, # Required. The name of the CA pool to pull CA certificates from. Structured like: projects/{project}/locations/{location}/caPools/{ca_pool}. The CA pool does not need to be in the same project or location as the Kafka cluster.
        },
      ],
    },
  },
  &quot;updateOptions&quot;: { # UpdateOptions specifies options that influence how a cluster update is applied. These options control the behavior of the update process, rather than defining the desired end-state of a cluster. # Optional. UpdateOptions represents options that control how updates to the cluster are applied.
    &quot;allowBrokerDownscaleOnClusterUpscale&quot;: True or False, # Optional. If true, allows an update operation that increases the total vCPU and/or memory allocation of the cluster to significantly decrease the per-broker vCPU and/or memory allocation. This can result in reduced performance and availability. By default, the update operation will fail if an upscale request results in a vCPU or memory allocation for the brokers that is smaller than 90% of the current broker size.
  },
  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the cluster was last updated.
}

  clusterId: string, Required. The ID to use for the cluster, which will become the final component of the cluster&#x27;s name. The ID must be 1-63 characters long, and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` to comply with RFC 1035. This value is structured like: `my-cluster-id`.
  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID to avoid duplication of requests. If a request times out or fails, retrying with the same ID allows the server to recognize the previous attempt. For at least 60 minutes, the server ignores duplicate requests bearing the same ID. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID within 60 minutes of the last request, the server checks if an original operation with the same request ID was received. If so, the server ignores the second request. The request ID must be a valid UUID. A zero UUID is not supported (00000000-0000-0000-0000-000000000000).
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
      },
    ],
    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
  },
  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
  },
}</pre>
</div>

<div class="method">
    <code class="details" id="delete">delete(name, requestId=None, x__xgafv=None)</code>
  <pre>Deletes a single cluster.

Args:
  name: string, Required. The name of the cluster to delete. (required)
  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID to avoid duplication of requests. If a request times out or fails, retrying with the same ID allows the server to recognize the previous attempt. For at least 60 minutes, the server ignores duplicate requests bearing the same ID. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID within 60 minutes of the last request, the server checks if an original operation with the same request ID was received. If so, the server ignores the second request. The request ID must be a valid UUID. A zero UUID is not supported (00000000-0000-0000-0000-000000000000).
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
      },
    ],
    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
  },
  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
  },
}</pre>
</div>

<div class="method">
    <code class="details" id="get">get(name, x__xgafv=None)</code>
  <pre>Returns the properties of a single cluster.

Args:
  name: string, Required. The name of the cluster whose configuration to return. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # An Apache Kafka cluster deployed in a location.
  &quot;capacityConfig&quot;: { # A capacity configuration of a Kafka cluster. # Required. Capacity configuration for the Kafka cluster.
    &quot;memoryBytes&quot;: &quot;A String&quot;, # Required. The memory to provision for the cluster in bytes. The CPU:memory ratio (vCPU:GiB) must be between 1:1 and 1:8. Minimum: 3221225472 (3 GiB).
    &quot;vcpuCount&quot;: &quot;A String&quot;, # Required. The number of vCPUs to provision for the cluster. Minimum: 3.
  },
  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the cluster was created.
  &quot;gcpConfig&quot;: { # Configuration properties for a Kafka cluster deployed to Google Cloud Platform. # Required. Configuration properties for a Kafka cluster deployed to Google Cloud Platform.
    &quot;accessConfig&quot;: { # The configuration of access to the Kafka cluster. # Required. Access configuration for the Kafka cluster.
      &quot;networkConfigs&quot;: [ # Required. Virtual Private Cloud (VPC) networks that must be granted direct access to the Kafka cluster. Minimum of 1 network is required. Maximum 10 networks can be specified.
        { # The configuration of a Virtual Private Cloud (VPC) network that can access the Kafka cluster.
          &quot;subnet&quot;: &quot;A String&quot;, # Required. Name of the VPC subnet in which to create Private Service Connect (PSC) endpoints for the Kafka brokers and bootstrap address. Structured like: projects/{project}/regions/{region}/subnetworks/{subnet_id} The subnet must be located in the same region as the Kafka cluster. The project may differ. Multiple subnets from the same parent network must not be specified.
        },
      ],
    },
    &quot;kmsKey&quot;: &quot;A String&quot;, # Optional. Immutable. The Cloud KMS Key name to use for encryption. The key must be located in the same region as the cluster and cannot be changed. Structured like: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.
  },
  &quot;labels&quot;: { # Optional. Labels as key value pairs.
    &quot;a_key&quot;: &quot;A String&quot;,
  },
  &quot;name&quot;: &quot;A String&quot;, # Identifier. The name of the cluster. Structured like: projects/{project_number}/locations/{location}/clusters/{cluster_id}
  &quot;rebalanceConfig&quot;: { # Defines rebalancing behavior of a Kafka cluster. # Optional. Rebalance configuration for the Kafka cluster.
    &quot;mode&quot;: &quot;A String&quot;, # Optional. The rebalance behavior for the cluster. When not specified, defaults to `NO_REBALANCE`.
  },
  &quot;satisfiesPzi&quot;: True or False, # Output only. Reserved for future use.
  &quot;satisfiesPzs&quot;: True or False, # Output only. Reserved for future use.
  &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the cluster.
  &quot;tlsConfig&quot;: { # The TLS configuration for the Kafka cluster. # Optional. TLS configuration for the Kafka cluster.
    &quot;sslPrincipalMappingRules&quot;: &quot;A String&quot;, # Optional. A list of rules for mapping from SSL principal names to short names. These are applied in order by Kafka. Refer to the Apache Kafka documentation for `ssl.principal.mapping.rules` for the precise formatting details and syntax. Example: &quot;RULE:^CN=(.*?),OU=ServiceUsers.*$/$1@example.com/,DEFAULT&quot; This is a static Kafka broker configuration. Setting or modifying this field will trigger a rolling restart of the Kafka brokers to apply the change. An empty string means no rules are applied (Kafka default).
    &quot;trustConfig&quot;: { # Sources of CA certificates to install in the broker&#x27;s truststore. # Optional. The configuration of the broker truststore. If specified, clients can use mTLS for authentication.
      &quot;casConfigs&quot;: [ # Optional. Configuration for the Google Certificate Authority Service. Maximum 10.
        { # A configuration for the Google Certificate Authority Service.
          &quot;caPool&quot;: &quot;A String&quot;, # Required. The name of the CA pool to pull CA certificates from. Structured like: projects/{project}/locations/{location}/caPools/{ca_pool}. The CA pool does not need to be in the same project or location as the Kafka cluster.
        },
      ],
    },
  },
  &quot;updateOptions&quot;: { # UpdateOptions specifies options that influence how a cluster update is applied. These options control the behavior of the update process, rather than defining the desired end-state of a cluster. # Optional. UpdateOptions represents options that control how updates to the cluster are applied.
    &quot;allowBrokerDownscaleOnClusterUpscale&quot;: True or False, # Optional. If true, allows an update operation that increases the total vCPU and/or memory allocation of the cluster to significantly decrease the per-broker vCPU and/or memory allocation. This can result in reduced performance and availability. By default, the update operation will fail if an upscale request results in a vCPU or memory allocation for the brokers that is smaller than 90% of the current broker size.
  },
  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the cluster was last updated.
}</pre>
</div>

<div class="method">
    <code class="details" id="list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
  <pre>Lists the clusters in a given project and location.

Args:
  parent: string, Required. The parent location whose clusters are to be listed. Structured like `projects/{project}/locations/{location}`. (required)
  filter: string, Optional. Filter expression for the result.
  orderBy: string, Optional. Order by fields for the result.
  pageSize: integer, Optional. The maximum number of clusters to return. The service may return fewer than this value. If unspecified, server will pick an appropriate default.
  pageToken: string, Optional. A page token, received from a previous `ListClusters` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListClusters` must match the call that provided the page token.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response for ListClusters.
  &quot;clusters&quot;: [ # The list of Clusters in the requested parent.
    { # An Apache Kafka cluster deployed in a location.
      &quot;capacityConfig&quot;: { # A capacity configuration of a Kafka cluster. # Required. Capacity configuration for the Kafka cluster.
        &quot;memoryBytes&quot;: &quot;A String&quot;, # Required. The memory to provision for the cluster in bytes. The CPU:memory ratio (vCPU:GiB) must be between 1:1 and 1:8. Minimum: 3221225472 (3 GiB).
        &quot;vcpuCount&quot;: &quot;A String&quot;, # Required. The number of vCPUs to provision for the cluster. Minimum: 3.
      },
      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the cluster was created.
      &quot;gcpConfig&quot;: { # Configuration properties for a Kafka cluster deployed to Google Cloud Platform. # Required. Configuration properties for a Kafka cluster deployed to Google Cloud Platform.
        &quot;accessConfig&quot;: { # The configuration of access to the Kafka cluster. # Required. Access configuration for the Kafka cluster.
          &quot;networkConfigs&quot;: [ # Required. Virtual Private Cloud (VPC) networks that must be granted direct access to the Kafka cluster. Minimum of 1 network is required. Maximum 10 networks can be specified.
            { # The configuration of a Virtual Private Cloud (VPC) network that can access the Kafka cluster.
              &quot;subnet&quot;: &quot;A String&quot;, # Required. Name of the VPC subnet in which to create Private Service Connect (PSC) endpoints for the Kafka brokers and bootstrap address. Structured like: projects/{project}/regions/{region}/subnetworks/{subnet_id} The subnet must be located in the same region as the Kafka cluster. The project may differ. Multiple subnets from the same parent network must not be specified.
            },
          ],
        },
        &quot;kmsKey&quot;: &quot;A String&quot;, # Optional. Immutable. The Cloud KMS Key name to use for encryption. The key must be located in the same region as the cluster and cannot be changed. Structured like: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.
      },
      &quot;labels&quot;: { # Optional. Labels as key value pairs.
        &quot;a_key&quot;: &quot;A String&quot;,
      },
      &quot;name&quot;: &quot;A String&quot;, # Identifier. The name of the cluster. Structured like: projects/{project_number}/locations/{location}/clusters/{cluster_id}
      &quot;rebalanceConfig&quot;: { # Defines rebalancing behavior of a Kafka cluster. # Optional. Rebalance configuration for the Kafka cluster.
        &quot;mode&quot;: &quot;A String&quot;, # Optional. The rebalance behavior for the cluster. When not specified, defaults to `NO_REBALANCE`.
      },
      &quot;satisfiesPzi&quot;: True or False, # Output only. Reserved for future use.
      &quot;satisfiesPzs&quot;: True or False, # Output only. Reserved for future use.
      &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the cluster.
      &quot;tlsConfig&quot;: { # The TLS configuration for the Kafka cluster. # Optional. TLS configuration for the Kafka cluster.
        &quot;sslPrincipalMappingRules&quot;: &quot;A String&quot;, # Optional. A list of rules for mapping from SSL principal names to short names. These are applied in order by Kafka. Refer to the Apache Kafka documentation for `ssl.principal.mapping.rules` for the precise formatting details and syntax. Example: &quot;RULE:^CN=(.*?),OU=ServiceUsers.*$/$1@example.com/,DEFAULT&quot; This is a static Kafka broker configuration. Setting or modifying this field will trigger a rolling restart of the Kafka brokers to apply the change. An empty string means no rules are applied (Kafka default).
        &quot;trustConfig&quot;: { # Sources of CA certificates to install in the broker&#x27;s truststore. # Optional. The configuration of the broker truststore. If specified, clients can use mTLS for authentication.
          &quot;casConfigs&quot;: [ # Optional. Configuration for the Google Certificate Authority Service. Maximum 10.
            { # A configuration for the Google Certificate Authority Service.
              &quot;caPool&quot;: &quot;A String&quot;, # Required. The name of the CA pool to pull CA certificates from. Structured like: projects/{project}/locations/{location}/caPools/{ca_pool}. The CA pool does not need to be in the same project or location as the Kafka cluster.
            },
          ],
        },
      },
      &quot;updateOptions&quot;: { # UpdateOptions specifies options that influence how a cluster update is applied. These options control the behavior of the update process, rather than defining the desired end-state of a cluster. # Optional. UpdateOptions represents options that control how updates to the cluster are applied.
        &quot;allowBrokerDownscaleOnClusterUpscale&quot;: True or False, # Optional. If true, allows an update operation that increases the total vCPU and/or memory allocation of the cluster to significantly decrease the per-broker vCPU and/or memory allocation. This can result in reduced performance and availability. By default, the update operation will fail if an upscale request results in a vCPU or memory allocation for the brokers that is smaller than 90% of the current broker size.
      },
      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the cluster was last updated.
    },
  ],
  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token that can be sent as `page_token` to retrieve the next page of results. If this field is omitted, there are no more results.
  &quot;unreachable&quot;: [ # Locations that could not be reached.
    &quot;A String&quot;,
  ],
}</pre>
</div>

<div class="method">
    <code class="details" id="list_next">list_next()</code>
  <pre>Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call &#x27;execute()&#x27; on to request the next
          page. Returns None if there are no more items in the collection.
        </pre>
</div>

<div class="method">
    <code class="details" id="patch">patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)</code>
  <pre>Updates the properties of a single cluster.

Args:
  name: string, Identifier. The name of the cluster. Structured like: projects/{project_number}/locations/{location}/clusters/{cluster_id} (required)
  body: object, The request body.
    The object takes the form of:

{ # An Apache Kafka cluster deployed in a location.
  &quot;capacityConfig&quot;: { # A capacity configuration of a Kafka cluster. # Required. Capacity configuration for the Kafka cluster.
    &quot;memoryBytes&quot;: &quot;A String&quot;, # Required. The memory to provision for the cluster in bytes. The CPU:memory ratio (vCPU:GiB) must be between 1:1 and 1:8. Minimum: 3221225472 (3 GiB).
    &quot;vcpuCount&quot;: &quot;A String&quot;, # Required. The number of vCPUs to provision for the cluster. Minimum: 3.
  },
  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the cluster was created.
  &quot;gcpConfig&quot;: { # Configuration properties for a Kafka cluster deployed to Google Cloud Platform. # Required. Configuration properties for a Kafka cluster deployed to Google Cloud Platform.
    &quot;accessConfig&quot;: { # The configuration of access to the Kafka cluster. # Required. Access configuration for the Kafka cluster.
      &quot;networkConfigs&quot;: [ # Required. Virtual Private Cloud (VPC) networks that must be granted direct access to the Kafka cluster. Minimum of 1 network is required. Maximum 10 networks can be specified.
        { # The configuration of a Virtual Private Cloud (VPC) network that can access the Kafka cluster.
          &quot;subnet&quot;: &quot;A String&quot;, # Required. Name of the VPC subnet in which to create Private Service Connect (PSC) endpoints for the Kafka brokers and bootstrap address. Structured like: projects/{project}/regions/{region}/subnetworks/{subnet_id} The subnet must be located in the same region as the Kafka cluster. The project may differ. Multiple subnets from the same parent network must not be specified.
        },
      ],
    },
    &quot;kmsKey&quot;: &quot;A String&quot;, # Optional. Immutable. The Cloud KMS Key name to use for encryption. The key must be located in the same region as the cluster and cannot be changed. Structured like: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.
  },
  &quot;labels&quot;: { # Optional. Labels as key value pairs.
    &quot;a_key&quot;: &quot;A String&quot;,
  },
  &quot;name&quot;: &quot;A String&quot;, # Identifier. The name of the cluster. Structured like: projects/{project_number}/locations/{location}/clusters/{cluster_id}
  &quot;rebalanceConfig&quot;: { # Defines rebalancing behavior of a Kafka cluster. # Optional. Rebalance configuration for the Kafka cluster.
    &quot;mode&quot;: &quot;A String&quot;, # Optional. The rebalance behavior for the cluster. When not specified, defaults to `NO_REBALANCE`.
  },
  &quot;satisfiesPzi&quot;: True or False, # Output only. Reserved for future use.
  &quot;satisfiesPzs&quot;: True or False, # Output only. Reserved for future use.
  &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the cluster.
  &quot;tlsConfig&quot;: { # The TLS configuration for the Kafka cluster. # Optional. TLS configuration for the Kafka cluster.
    &quot;sslPrincipalMappingRules&quot;: &quot;A String&quot;, # Optional. A list of rules for mapping from SSL principal names to short names. These are applied in order by Kafka. Refer to the Apache Kafka documentation for `ssl.principal.mapping.rules` for the precise formatting details and syntax. Example: &quot;RULE:^CN=(.*?),OU=ServiceUsers.*$/$1@example.com/,DEFAULT&quot; This is a static Kafka broker configuration. Setting or modifying this field will trigger a rolling restart of the Kafka brokers to apply the change. An empty string means no rules are applied (Kafka default).
    &quot;trustConfig&quot;: { # Sources of CA certificates to install in the broker&#x27;s truststore. # Optional. The configuration of the broker truststore. If specified, clients can use mTLS for authentication.
      &quot;casConfigs&quot;: [ # Optional. Configuration for the Google Certificate Authority Service. Maximum 10.
        { # A configuration for the Google Certificate Authority Service.
          &quot;caPool&quot;: &quot;A String&quot;, # Required. The name of the CA pool to pull CA certificates from. Structured like: projects/{project}/locations/{location}/caPools/{ca_pool}. The CA pool does not need to be in the same project or location as the Kafka cluster.
        },
      ],
    },
  },
  &quot;updateOptions&quot;: { # UpdateOptions specifies options that influence how a cluster update is applied. These options control the behavior of the update process, rather than defining the desired end-state of a cluster. # Optional. UpdateOptions represents options that control how updates to the cluster are applied.
    &quot;allowBrokerDownscaleOnClusterUpscale&quot;: True or False, # Optional. If true, allows an update operation that increases the total vCPU and/or memory allocation of the cluster to significantly decrease the per-broker vCPU and/or memory allocation. This can result in reduced performance and availability. By default, the update operation will fail if an upscale request results in a vCPU or memory allocation for the brokers that is smaller than 90% of the current broker size.
  },
  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the cluster was last updated.
}

  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID to avoid duplication of requests. If a request times out or fails, retrying with the same ID allows the server to recognize the previous attempt. For at least 60 minutes, the server ignores duplicate requests bearing the same ID. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID within 60 minutes of the last request, the server checks if an original operation with the same request ID was received. If so, the server ignores the second request. The request ID must be a valid UUID. A zero UUID is not supported (00000000-0000-0000-0000-000000000000).
  updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the cluster resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. The mask is required and a value of * will update all fields.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
      },
    ],
    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
  },
  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
  },
}</pre>
</div>

</body></html>